package lijixia.lijixia;
import java.io.*;
import java.net.HttpURLConnection;

import java.net.URL;
public class Utils {

	 private static void setRequestPro(HttpURLConnection urlConn) {
	        //User-Agent:Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36
	        urlConn.setRequestProperty("User-Agent", "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36");
	        urlConn.setRequestProperty("Accept",
	                "image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*");
	        urlConn.setRequestProperty("Accept-Language", "zh-cn");
	        urlConn.setRequestProperty("Accept-Encoding", "gzip");
	        urlConn.setRequestProperty("Content-type", "text/html");
	        urlConn.setRequestProperty("Connection", "close"); //keep-Alive，
	        urlConn.setUseCaches(false);
	        urlConn.setConnectTimeout(10 * 1000);
	        urlConn.setReadTimeout(10 * 1000);
	        urlConn.setDoOutput(true);
	        urlConn.setDoInput(true);
	    }
	    public static String GetWebContent(String urlString, final String charset, int timeout) throws IOException {
	        if (urlString == null || urlString.length() == 0) {
	            return null;
	        }
	        urlString = (urlString.startsWith("http://") || urlString.startsWith("https://")) ? urlString : ("http://" + urlString);
	        URL url = new URL(urlString);
	        HttpURLConnection conn = (HttpURLConnection) url.openConnection();
	        conn.setDoOutput(true);
	        conn.setRequestProperty("Pragma", "no-cache");
	        conn.setRequestProperty("Cache-Control", "no-cache");
	       int temp = Integer.parseInt(Math.round(Math.random() * 7) + "");
	        String ua = "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.106 Safari/537.36";
	        conn.setRequestProperty("User-Agent", ua);//UserAgent[temp]);
	        conn.setRequestProperty("Accept", "text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8");//只接受text/html类型，当然也可以接受图片,pdf,*/*任意，就是tomcat/conf/web里面定义那些
	        conn.setConnectTimeout(timeout);
	        try {
	            System.out.println("conn.getResponseCode():" + conn.getResponseCode());

	            System.out.println("conn.getResponseMessage():" + conn.getResponseMessage());
	            if (conn.getResponseCode() != HttpURLConnection.HTTP_OK) {

	                return null;
	            }
	        } catch (Exception e) {

	            try {
	                e.printStackTrace();

	            } catch (Exception e2) {
	                e2.printStackTrace();
	            }
	            return null;
	        }
	        InputStream input = conn.getInputStream();
	       //  write2String(input,charset);
	      write2File(input,"d:\\temp\\download","163.html",charset);

	        if (conn != null) {
	            conn.disconnect();
	        }
	        return null ;
	    }

	  /*  private static String[] UserAgent = {
	            "Mozilla/5.0 (Linux; U; Android 2.2; en-us; Nexus One Build/FRF91) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.2",
	            "Mozilla/5.0 (iPad; U; CPU OS 3_2_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B500 Safari/531.21.11",
	            "Mozilla/5.0 (SymbianOS/9.4; Series60/5.0 NokiaN97-1/20.0.019; Profile/MIDP-2.1 Configuration/CLDC-1.1) AppleWebKit/525 (KHTML, like Gecko) BrowserNG/7.1.18121",
	            "UCWEB7.0.2.37/28/998",
	            "NOKIA5700/UCWEB7.0.2.37/28/977",
	            "Openwave/UCWEB7.0.2.37/28/978",
	            "Openwave/UCWEB7.0.2.37/28/978",
	            "Mozilla/4.0 (compatible; MSIE 6.0; ) Opera/UCWEB7.0.2.37/28/989"

	    };*/
	    public static boolean isNotEmpty(Object o) {
	        if (null == o) {
	            return false;
	        }

	        if (o.toString().equals("")) {
	            return false;
	       }

	        return true;
	    }
	    public static void write2File(InputStream in, String path, String fileName,String charset) {
	        File fp = new File(path);
	        if(!fp.exists()){
	            fp.mkdirs();
	        }
	        try {
	            String filePath =fp +"\\"+ fileName;
	            PrintWriter pw = null;
	            FileOutputStream fos = new FileOutputStream(filePath);
                OutputStreamWriter writer = new OutputStreamWriter(fos,charset);
	            pw = new PrintWriter(writer);
	            BufferedReader bReader = new BufferedReader(new InputStreamReader(in,charset));
               StringBuffer sb = new StringBuffer();
           String rLine = null;
            while ((rLine = bReader.readLine()) != null) {
                  pw.println(rLine);
                    pw.flush();
	            }
           in.close();
	            pw.close();
	        }catch (Exception e){
            e.printStackTrace();
	        }
    }
	    public static void write2String(InputStream input, String charset){
	        try {
	            BufferedReader reader = new BufferedReader(new InputStreamReader(input,
	                    charset));
	            String line = null;
            StringBuffer sb = new StringBuffer();
            while ((line = reader.readLine()) != null) {

                sb.append(line).append("\r\n");
            }

            if (reader != null) {

                reader.close();
            }
            System.out.println(sb.toString());/////////////////////打印网页内容
        }catch (Exception e){
            e.printStackTrace();
        }

	    }

}
